package com.jt.controller;
//pose 与 put 提交语法相同
//get 与 delete 提交语法相同
import com.jt.pojo.User;
import org.springframework.web.bind.annotation.*;

@RestController//@Controller + @ResponseBody
@CrossOrigin //允许跨域访问
//@CrossOrigin("http:www.baidu.com") //允许某个网站访问
@RequestMapping("/axios")//将公共的部分抽取
public class AxiosController {
    @RequestMapping("/findUser")  //  /axios/findUser
    public String findUser(){
        return "查询用户成功";
    }
    @RequestMapping("/findUserById")
    public User findUserById(Integer id){
        User user = new User();
        user.setId(id);
        user.setName("测试数据");
        user.setAge(18);
        user.setSex("男");
        return user;
    }

    /**
     * 业务需求:动态接受数据
     */
    @GetMapping("/findUserByNA")
    public User findUserByNA(User user){
        user.setId(3);
        user.setSex("男");
        return user;
    }

    /**
     * 动态接收前端restFul结构
     */
    @GetMapping("/findUserNA/{name}/{age}")
    public User findUserNA(User user){
        user.setId(101);
        user.setSex("女");
        return user;
    }

    /**
     * 业务说明: 接收post请求
     * URL地址:http://localhost:8080/axios/saveUser
     * 参数: JSON串 = {"id":100,"name":"tomcat","age":18,"sex":"女"}
     * 返回值: User对象
     * 知识点:
     *      1.将JSON串转化为对象  @RequestBody
     *      2.将对象转化为JSON串  @ResponseBody
     */
    //接收方法1
    @PostMapping("/saveUser")
    public User saveUser(@RequestBody User user){
        return user;
    }
    //接收方法2 : restFul 结构
    @PostMapping("/user/{id}/{nmae}/{age}/{sex}")
    public User saveauser1(User user){
        return user;
    }
    /**
     * 业务:完成修改操作
     * 类型:put类型
     * 参数:user的JSON串
     * 返回值:User对象
     */
    //接收方法1
    @PutMapping("/updateUser")
    public User updateUser(@RequestBody User user){
        return user;
    }
    //接收方法2 : restFul 结构
    @PutMapping("/user/{name}/{age}/{id}")
    public User user(User user){
        return user;
    }
}

